<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="text-css.css">
</head>

<body>
<div  class="box" style="display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;
">
    <h1>WiFi单品设备开发-基于其他模组</h1>
    <p>更新时间：2018-12-21 13:28:08</p><br>
    <p>如果用户不使用已认证的模组，本文讲解用户如何直接通过Link Kit SDK开发WiFi单品设备，用以连接飞燕平台。</p>
    <h1><a name="WIFI-signal-equip2-add-1">1.在飞燕后台定义产品</a></h1>
    <ul style="margin:0">
        <li>创建项目以及创建产品</li>
        <p>请参考“创建产品”了解如何创建项目、以及创建产品，创建产品时“连网方式”选择“以太网”。
            <br>
            注：</p>
        <li>如果设备端集成的Link Kit SDK是C语言版本、安卓版本，联网方式请选择“以太网”，可以让飞燕的公版APP通过本地发现方式来添加设备</li>
        <li>如果设备上集成Link Kit SDK的Java、NodeJS、Python、iOS版本，创建产品时“连网方式”请设置为“蜂窝”来避免添加设备失败</li>
        <li>产品功能定义</li>
        <p>请参考“功能定义”来定义产品的功能</p>
        <li>添加测试设备</li>
    </ul>
    <p>请参考“设备调试”来添加测试设备、设置设备的绑定策略等。
    </p>
    <h1><a name="WIFI-signal-equip2-add-2">2.设备端开发</a></h1>
    <h3>使用C语言Link Kit SDK开发设备</h3>
    <h4>获取Link Kit SDK代码</h4>
    <p>模组商可以 <a href="https://github.com/aliyun/iotkit-embedded/archive/v2.3.0.zip" style="color:blue">访问此处</a>获取Link Kit SDK v2.3.0的代码，并请阅读《创建产品》熟悉如何在飞燕平台定义产品以及其功能。</p>
    <h4>配置SDK</h4>
    <p>SDK解压之后，SDK的根目录下的文件如下图所示：</p>
    <img src="1545011857898-babc3032-24b3-4496-832f-00721667a80d.png" alt="" style="width:100%">
    <br>
    <p>其中文件make.settings包含了SDK的功能配置，用户可以对make.settings中的功能选项进行裁剪，下面是针对WiFi设备的推荐定义：</p>
    <pre class="pre-box">

FEATURE_SRCPATH="."

#打开MQTT特性
FEATURE_MQTT_COMM_ENABLED=y
#MQTT直接连接
FEATURE_MQTT_DIRECT=y
#使能物模型特性
FEATURE_DEVICE_MODEL_ENABLED=y

#使能本地通信
FEATURE_ALCS_ENABLED=y
FEATURE_ALCS_SERVER_ENABLED=y
FEATURE_DEV_BIND_ENABLED=y

#使能OTA
FEATURE_OTA_ENABLED=y

#加密库的实现
FEATURE_SUPPORT_TLS=y

#使能配网，如果确认不需要配网可以注释掉FEATURE_WIFI_PROVISION_ENABLED关闭配网
FEATURE_WIFI_PROVISION_ENABLED=y
#
# AWSS Configurations
#
#一键配网，如果不需要可以注释掉FEATURE_AWSS_SUPPORT_SMARTCONFIG关闭一键配网
FEATURE_AWSS_SUPPORT_SMARTCONFIG=y
#手机热点配网，如果不需要可以注释掉FEATURE_AWSS_SUPPORT_PHONEASAP关闭手机热点配网
FEATURE_AWSS_SUPPORT_PHONEASAP=y
#路由器配网，如果不需要可以注释掉FEATURE_AWSS_SUPPORT_PHONEASAP关闭路由器配网
FEATURE_AWSS_SUPPORT_ROUTER=y
#零配配网，如果不需要可以注释掉FEATURE_AWSS_SUPPORT_PHONEASAP关闭零配配网
FEATURE_AWSS_SUPPORT_ZEROCONFIG=y        
    </pre>
    <p>注：如果设备支持通过某种方式输入WiFi热点的SSID/密码，比如通过串口输入WiFi热点的SSID/密码，那么可以不用使能WiFi配网功能，因为WiFi配网的HAL适配也是需要较大工作量的（一周左右）。</p>
    <h1><a name="WIFI-signal-equip2-add-3">3.HAL适配</a></h1>
    <p>请参照下面的文档进行HAL的实现：</p>
    <ul style="margin:0">
        <li><a href="https://help.aliyun.com/document_detail/100111.html" style="color:blue">基础HAL适配</a></li>
        <li><a href="https://help.aliyun.com/document_detail/100115.html" style="color:blue">MQTT连云相关的HAL适配</a></li>
        <li><a href="https://help.aliyun.com/document_detail/100112.html" style="color:blue">线程相关HAL的适配</a></li>
        <li><a href="https://help.aliyun.com/document_detail/100118.html" style="color:blue">WiFi配网HAL的适配</a></li>
        <p>注：若未选择集成阿里提供的WiFi配网功能，可以不用适配这些HAL</p>
        <li><a href="https://help.aliyun.com/document_detail/100116.html" style="color:blue">OTA HAL的适配</a></li>
        <li><a href="https://help.aliyun.com/document_detail/100119.html" style="color:blue">本地通信HAL的适配</a></li>
    </ul>
        <h1><a name="WIFI-signal-equip2-add-4">4.交叉编译</a></h1>
        <p>请参考 <a href="https://help.aliyun.com/document_detail/97559.html" style="color:blue">交叉编译示例</a>了解如何进行交叉编译配置</p>
        <h1><a name="WIFI-signal-equip2-add-5">5.WiFi配网开发</a></h1>
        <p>请访问 <a href="https://help.aliyun.com/document_detail/97570.html" style="color:blue">Link Kit SDK的WiFi</a>配网开发指南了解如何调用配网相关的API实现WiFi配网</p>
        <h1><a name="WIFI-signal-equip2-add-6">6.云端链接以及动态连云设置</a></h1>
    <p>请参考设备认证了解如何将设备连接到云端，以及设备连接海外站点时动态连云的设置。</p>
    <h1><a name="WIFI-signal-equip2-add-7">7.设备重置开发</a></h1>
    <p>对于飞燕平台来说，建议产品设计一个reset按键用于清除设备上的配置，将设备恢复到出厂状态，同时调用awss_report_reset()函数告知云端清除设备与用户的绑定关系。
        <br>
        因此，设备商需要在处理reset按键的逻辑中增加对awss_report_reset()的调用。</p>
    <pre class="pre-box">

/*
 * 应用程序调用该API后，Linkkit首先往Flash里存储恢复出厂设置的标志，并向云端上报reset操作，
 * 在规定的时间内（3秒）如果没有收到云端的回复，设备会重新上传reset，直至收到云端的回复位置；
 * 有些产品希望发生reset时设备可以重新启动，如果重新启动之前reset没有上报成功，下一次连接云后，
 * 设备会首先检查Flash中恢复出厂标志是否设置，如果设置了则首先向云端上报reset，直至成功；
 */
int awss_report_reset();
    </pre>
    <h1><a name="WIFI-signal-equip2-add-8">8.物模型编程</a></h1>
    <p>飞燕平台上的产品需要支持物模型编程，请参考 <a href="https://help.aliyun.com/document_detail/96628.html" style="color:blue">物模型编程</a>了解如何上报属性、事件变化，如何处理来自云端的服务调用、属性设置。</p>
    <h1><a name="WIFI-signal-equip2-add-9">9.OTA开发</a></h1>
    <p>请参考 <a href="https://help.aliyun.com/document_detail/97351.html" style="color:blue">设备OTA开发</a>中的“用高级版接口实现的OTA例程”了解如何进行OTA的开发</p>
    <h3>使用其它编程语言的Link Kit SDK开发设备</h3>
    <p>非C语言的Link Kit SDK由于不需要进行系统适配，同时对系统的内存要求不那么严苛，所以不提供功能裁剪功能，用户根据相关开发文档进行产品开发即可。
        <br>
        目前支持的Link Kit SDK支持的编程语言类型：</p>
    <ul style="margin:0">
        <li><a href="https://help.aliyun.com/document_detail/96607.html" style="color:blue">使用安卓Link Kit SDK开发设备</a></li>
        <li><a href="https://help.aliyun.com/document_detail/96618.html" style="color:blue">使用NodeJS Link Kit SDK开发设备</a></li>
        <li><a href="https://help.aliyun.com/document_detail/97331.html" style="color:blue">使用Java Link Kit SDK开发设备</a></li>
        <li><a href="https://help.aliyun.com/document_detail/98292.html" style="color:blue">使用Python Link Kit SDK开发设备</a></li>
    </ul>

</div>
<div id="intro-platform-nav" style="position:absolute;right:100px;top:150px;width:30px;height:30px;position:fixed;z-index:1;border:1px solid #CCC;box-shadow:4px 4px 10px #E8E8E8;border-radius:10px;background:#F5F5F5	">
    <img src="img\\sanheng.png" alt="" style="width:30px;height:30px;position:fixed;position:absolute;right:0px;top:0px;">
    <div  id="nav-text" style="display:none;line-height:15px;overflow:scroll;height:250px;overflow-x:hidden;padding-left:15px;">
        <p>WiFi单品设备开发-基于其他模组</p>
        <p><a href="#WIFI-signal-equip2-add-1">1.在飞燕后台定义产品</a></p>
        <p><a href="#WIFI-signal-equip2-add-2">2.设备端开发</a></p>
        <p><a href="#WIFI-signal-equip2-add-3">3.HAL适配</a></p>
        <p><a href="#WIFI-signal-equip2-add-4">4.交叉编译</a></p>
        <p><a href="#WIFI-signal-equip2-add-5">5.WiFi配网开发</a></p>
        <p><a href="#WIFI-signal-equip2-add-6">6.云端链接以及动态连云设置</a></p>
        <p><a href="#WIFI-signal-equip2-add-7">7.设备重置开发</a></p>
        <p><a href="#WIFI-signal-equip2-add-8">8.物模型编程</a></p>
        <p><a href="#WIFI-signal-equip2-add-9">9.OTA开发</a></p>
    </div>
</div>
</div>
</body>
<script src="jquery-3.3.1.min.js"></script>
<script>
    $(document).ready(function(){
      $("#intro-platform-nav").click(function(){
       $("#intro-platform-nav").animate({
            "width":"260px",
            "height":"250px"
       },600);
       $("#nav-text").css("display","");
    });
    $("#intro-platform-nav").mouseleave(function(){
      $("#intro-platform-nav").animate({
      "width":"30px",
      "height":"30px"
      },500);
      $("#nav-text").css("display","none");
    });
     $("tr:gt(1):even()").css("background","#F5F5F5");
   })
</script>

</html>